import java.io.ObjectInputStream.GetField;

public class J14_StaticMember {

	public static void main(String[] args) {
		// static 멤버변수 다루기

		J13_car car1 = new J13_car("bmw", "ddd", 2, 1);
		// car1 객체가 생성되면
		// 정적변수 total에 1을 증가시킴
		J13_car car2 = new J13_car("Honda", "aaa", 4, 2);
		// car2 객체가 생성되면
		// 역시 정적변수 total에 1을 증가시킴
		System.out.println(car1.getCounter());
		System.out.println(car2.getCounter());
		System.out.println(J13_car.total);

	}



}

// 차량정보를 다루는 클래스 : car
// 제조사 : maker
// 모델명 : model
// 문짝수 : doors
// 차량번호 : counter

class J13_car {
	private String car;
	private String maker;
	private int doors;
	private int counter;
	// 멤버변수 maker, model, doors, counter등은
	// new 연산자로 객체를 생성할때 변수가 만들어짐
	public static int total; // 정적멤버변수

	// 하지만, 정적변수 total은
	// 프로그램이 실행될때 미리 변수가 만들어 짐
	// 생성자 정의
	public J13_car() {

	}

	// 모든 멤버변수를 초기화하는 생성자 정의
	public J13_car(String car, String maker, int doors, int counter) {
		this.car = car;
		this.maker = maker;
		this.doors = doors;
		this.counter = counter;

	}

	// 일부 멤버변수를 초기화하는 생성자 정의
	// 문짝이 4개이고 카운터가 0인 차량 등록시 사용
	public J13_car(String car, String maker) {
		this(car, maker, 4, 0);
		// 기존에 만들어진 생성자를 간편하게 호출하기 위해
		// this라는 접두사를 사용
		// this.car=car;
		// this.maker=maker;

		++total; // car 객체가 생성될때 마다 total 증가

	}

	// setter, getter
	public String getCar() {
		return car;
	}

	public void setCar(String car) {
		this.car = car;
	}

	public String getMaker() {
		return maker;
	}

	public void setMaker(String maker) {
		this.maker = maker;
	}

	public int getDoors() {
		return doors;
	}

	public void setDoors(int doors) {
		this.doors = doors;
	}

	public int getCounter() {
		return counter;
	}

	public void setCounter(int counter) {
		this.counter = counter;
	}

	public static int getTotal() {
		return total;
	}

	public static void setTotal(int total) {
		J13_car.total = total;
	}

	@Override
	public String toString() {
		;
		String result = " ";
		result += "차량정보" + car + "/t";
		result += result + "모델명" + maker + "/t";
		result += result + "문짝수" + doors + "/t";
		result += result + "차량번호" + counter + "/t";

		return result;
	}

}
